System and Method for Using a Cursor to Convey Information

ABSTRACT

Methods and systems are provided for the controlled cursor&#39;s behavior. According to one example method, any desired data may be linked to a cursor and a desired cursor behavior could be defined to convey the linked data using the cursor. When a change in the linked data is detected, the example method includes using the desired cursor behavior to convey the changed data independent of a location where the cursor is placed on a screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/608,515, entitled “System and Method for Using a Cursor to ConveyInformation,” filed Dec. 8, 2006, the contents of which are fullyincorporated herein by reference.

TECHNICAL FIELD

The present invention is directed to conveying information using acursor. More specifically, the present invention is directed to a systemand method for using a cursor to convey information that may assist atrader in making trading decisions in an electronic trading environment.

BACKGROUND

Trading methods have evolved from a manually intensive process to atechnology enabled, electronic platform. With the advent of electronictrading, a user or trader can be in virtually direct contact with themarket, from practically anywhere in the world, performing nearreal-time transactions.

Electronic trading is generally based on a host exchange, one or morecomputer networks, and client devices. In general, the host exchangeincludes one or more centralized computers to form the electronic heart.Its operations typically include maintaining an exchange order book thatrecords unexecuted orders, order matching, providing price and orderfill information, and managing and updating a database that records suchinformation. The host exchange is also equipped with an externalinterface that maintains uninterrupted contact to the client devices andpossibly other trading-related systems.

Using client devices, traders link to the host exchange through one ormore networks to trade tradeable objects. As used herein, the term“tradeable object” refers to anything that can be traded with a quantityand/or price. It includes, but is not limited to, all types of tradedevents, goods and/or financial products, which can include, for example,stocks, options, bonds, futures, currency, and warrants, as well asfunds, derivatives and collections of the foregoing, and all types ofcommodities, such as grains, energy, and metals. The tradeable objectmay be “real,” such as products that are listed by an exchange fortrading, or “synthetic,” such as a combination of real products that iscreated by the user. A tradeable object could actually be a combinationof other tradeable objects, such as a class of tradeable objects.

A network is a group of two or more computers or devices linked togetherin any fashion, which may be characterized by topology, protocol, andarchitecture. For example, some market participants may link to the hostthrough a direct network connection such as a T1 or ISDN. Someparticipants may link to the host exchange through direct networkconnections and through other common network components such ashigh-speed servers, routers, and gateways that allow a trader to connectto an electronic exchange. The Internet, a well-known collection ofnetworks and gateways, can be used to establish a connection between theclient device and the host exchange. There are many different types ofwired and wireless networks and combinations of network types known inthe art that can link traders to the host exchange.

A client device may include computers such as personal computers, laptopcomputers, hand-held computers, and so forth that have network access. Aclient device usually consists of a personal computer, laptop, orworkstation that has a Microsoft Windows-type or some other type of theoperating system that provides a pointing device and a graphicalinterface based on windowed regions displayed on the screen. Currently,one of the most common pointing devices is a mouse that typicallyincludes a wheel positioned between the left and right buttons. Othertypes of pointing devices may also be used such as keyboard cursors ortrackballs, just to name a few. Regardless of the actual pointing deviceused, a cursor, also often referred to as a pointer, is displayed on ascreen. In relation to graphical user interfaces, a cursor is a visibleand moving object or pointer that a user may control with a mouse, touchpad, or a similar device. The relative movement of the on-screen cursoris controlled by the relative movement of the pointing device by theuser. The user may use the pointing cursor and special input buttons toselect a particular item displayed on a screen. Typically, a pointingcursor is an arrow and a text entry position cursor is a blinkingunderscore or a vertical bar. However, different cursor formats are usedas well, and many operating systems allow a user to choose anotherappearance for the cursor. In a trading environment, a cursor, amongother functions, may be used to highlight information, set orderparameters, send orders, cancel orders, and so on.

In addition to typical uses of the cursor, some systems provideinformation cursors, often referred to as tool tip cursors. Tool tipcursors are mostly used in interactive computer environments where auser may receive a help message about an icon or yet some other objectby positioning a pointer with a mouse on the computer's display over theicon about which the information is desired. For example, tool tip iconsare described in U.S. Pat. Nos. 6,809,720 and 5,287,448.

Considering that the use of a cursor to manipulate any window displayedon a screen is inevitable, it would be beneficial to provide additionaluses for a cursor in electronic trading and other environments.

SUMMARY

The example embodiments are directed to a system and methods forcontrolled cursor behavior. In a typical environment, a cursor onlytakes on the behavior of an application which is the present applicationof focus or an application corresponding to a window which lies visiblydirectly beneath the cursor's hotspot, typically, the tip of thecursor's arrow. According to the example embodiments, the cursor'sbehavior can be controlled regardless of the cursor's state with respectto the application focus, a location of the cursor in relation towindows or interfaces displayed on a screen, or an operating systembeing run.

The controlled cursor behavior embodiments are not limited to anyspecific application; however, according to one example embodiment thatwill be described in greater detail below, the behavior of the cursormay be based on data linked from a trading application. In such anembodiment, the cursor may respond to changes in the linked dataprovided by the trading application regardless of what application oroperating system is used at any point in time. According to one exampleembodiment, a user may link data from a trading application, and thelinked data may be displayed in relation to the cursor independent of alocation where the cursor is displayed on one or more screens andindependent of an application being focused on by a user. For example,the displayed data may correspond to market data that a user may viewvia a first window displayed on a screen. Then, when the user closes thewindow or moves the cursor to another window displayed on the screeneven if the second window corresponds to an application different fromthe trading application, the linked data may remain displayed inrelation to the cursor regardless of what actions are taken by the user.Additionally, as any changes are detected in the linked data, thedisplayed data may dynamically react to the detected changes so that auser may view the data as the changes occur.

The behavior of a cursor according to the example embodiments could beuser-configurable. As will be described later, to convey desiredinformation via a cursor, data could be textually/graphically displayedin relation to a cursor, audio signals could be played, or thecombination thereof could be used as well. Additionally, the cursor'sformat could be used to convey additional or the same information to auser. For example, a cursor's color or shape could be altered to alert auser of a change in a value or some other event linked to the cursor.Alternatively, the cursor could start flashing or yet react to changingdata in some other way depending on the system configuration.

In one example embodiment, the information displayed in relation to acursor could be configured to assist a user in making his tradingdecisions. Thus, the displayed data could be based on trader-relateddata, such as a trader's net position or profit data, market relateddata, such as the current inside market corresponding to a selectedtradeable object, or news related data, for example. As will beexplained in greater detail below, different types of data could belinked and displayed in relation to a cursor as well.

While the example embodiments are described herein with reference toillustrative embodiments for particular applications, it should beunderstood that the example embodiments are not limited thereto. Forinstance, it should be understood that the system and methods of thepresent embodiments can be applied by other software applicationsoutside of the trading environment. Other systems, methods, andadvantages of the present embodiments will be or become apparent to onewith skill in the art upon examination of the following drawings anddescription. It is intended that all such additional systems, methods,features, and advantages be within the scope of the present invention,and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments are described herein with reference to the followingdrawings, in which:

FIG. 1 illustrates an example electronic trading system in which theexample embodiments may be employed;

FIG. 2 illustrates another example trading system that uses similarcomputer elements as shown in FIG. 1, in which, the example embodimentsmay be employed to trade at multiple electronic exchanges;

FIG. 3 is a block diagram illustrating an example trading station;

FIG. 4 is a flow diagram illustrating an example method for cursorconfiguration according to an example embodiment;

FIGS. 5A and 5B illustrate example embodiments for displayinginformation in relation to a cursor, and particularly, for displayinginformation in relation to a cursor within a single window of anapplication regardless of where the cursor is placed within the window;and

FIGS. 6A and 6B illustrate example embodiments for displayinginformation in relation to a cursor, and particularly, for displayinginformation in relation to a cursor as the cursor is dragged from afirst window of a first application to a second window of the same or adifferent application.

DETAILED DESCRIPTION I. A First Example Trading System

FIG. 1 illustrates an example electronic trading system in which theexample embodiments may be employed. However, it should be understoodthat the example embodiments could be equally applicable in differentembodiments and in relation to different systems as well, such as byother computer programs or systems that do not necessarily relate toelectronic trading (e.g., operating systems, gaming systems, and/orother software applications). In this example, the trading systemcomprises a client device 102 that accesses an electronic exchange 104through a gateway 106. Router 108 is used to route messages between thegateway 106 and the electronic exchange 104. The electronic exchange 104includes a computer process (e.g., the central computer) that matchesbuy and sell orders sent from the client device 102 with orders fromother client devices (not shown). The electronic exchange 104 may listone or more tradeable objects for trading. While not shown in FIG. 1 forthe sake of clarity, the trading system may include other devices thatare specific to the client site like middleware and security measureslike firewalls, hubs, security managers, and so on, as understood by aperson skilled in the art.

Regardless of the types of order execution algorithms used, theelectronic exchange 104 provides market information to the subscribingclient device 102. Market information may include data that representsjust the inside market. The inside market is the lowest sell price (bestask) and the highest buy price (best bid) at a particular point in time.Market information may also include market depth. Market depth refers toquantities available at the inside market and can also refer toquantities available at other prices away from the inside market. Thequantity available at a given price level is usually provided by thehost exchange in aggregate sums. In other words, an exchange usuallyprovides the total buy quantity and the total sell quantity available inthe market at a particular price level in its data feed. The extent ofthe market depth available to a trader usually depends on the exchange.For instance, some exchanges provide market depth for all (or most)price levels, while some provide only quantities associated with theinside market, and others may provide no market depth at all.Additionally, the exchange 104 can offer other types of marketinformation such as the last traded price (LTP), the last tradedquantity (LTQ), and order fill information.

The computer employed as the client device 102 generally can range froma hand-held device, laptop, or personal computer to a larger computersuch as a workstation and multiprocessor. An illustrative personalcomputer may use Pentium™ microprocessors and may operate under aWindows operating system, or yet may use some other microprocessor oroperating system. Generally, the client device 102 includes a monitor(or any other output device) and an input device, such as a keyboard, atrackball, and/or a two or three-button mouse to support click basedtrading, if so desired. One skilled in the art of computer systems willunderstand that the present example embodiments are not limited to anyparticular class or model of computer employed for the client device 102and will be able to select an appropriate system.

The computer employed as the gateway 106 generally can range from apersonal computer to a larger or faster computer. An illustrativegateway 106 computer may use Pentium™ microprocessors and may operateunder a Windows (server or workstation) operating system, or yet someother system. Generally, the gateway 106 may additionally include amonitor (or any other output device), input device, and access to adatabase, if so desired. One skilled in the art of computer systems willalso understand that the present example embodiments are not limited toany particular class or model of computer(s) employed for the gateway106 and will be able to select an appropriate system.

It should be noted that a computer system that may be employed here as aclient device or a gateway generally includes a central processing unit,a memory (a primary and/or secondary memory unit), an input interfacefor receiving data from a communications network, an input interface forreceiving input signals from one or more input devices (for example, akeyboard, mouse, etc.), and an output interface for communications withan output device (for example, a monitor). A system bus or an equivalentsystem may provide communications between these various elements.

In general, it should be understood that the devices described hereincould include hardware objects developed using integrated circuitdevelopment technologies, or yet via some other methods, or thecombination of hardware and software objects that could be ordered,parameterized, and connected in a software environment to implementdifferent functions described herein. Also, the hardware objects couldcommunicate using electrical signals, with states of the signalsrepresenting different data.

It should also be noted that the client device 102 generally executesapplication programs resident at the client device 102 under the controlof the operating system of the client device 102. Also, the gateway 106executes application programs resident at the gateway 106 under thecontrol of the operating system of the gateway 106. In other embodimentsand as understood by a person skilled in the art, the function of theapplication programs at the client device 102 may be performed by thegateway 106, and likewise, the function of the application programs atthe gateway 106 may be performed by the client device 102.

The actual electronic trading system configurations are numerous, and aperson skilled in the art of electronic trading systems would be able toconstruct a suitable network configuration. For the purposes ofillustration, some example configurations are provided to illustratewhere the elements may be physically located and how they might beconnected to form an electronic trading system. These illustrations aremeant to be helpful to the reader, and they are not meant to belimiting. According to one example illustration, the gateway device maybe located at the client site along with the trading station, which isusually remote from the matching process at the electronic exchange.According to this instance, the trading station, the gateway, and therouter may communicate over a local area network, and the router maycommunicate with the matching process at the electronic exchange over aT1, T3, ISDN, or some other high speed connection.

In another example illustration, the client site may be located on theactual grounds of the electronic exchange (for example, in the buildingof the exchange). According to this instance, the trading station, thegateway, and the router may still communicate over a local area network,but the router may communicate with the matching process at theelectronic exchange through another connection means besides a T1, T3,or ISDN. In yet another example illustration, the gateway may be housedat, or near, its corresponding electronic exchange. According to thisinstance, the client device may communicate with the gateway over a widearea network or through the use of a T1, T3, ISDN, or some other highspeed connection.

Further, the gateway may be located remote from the client device andremote from the electronic exchange, which might be particularly usefulin systems that include interconnection of multiple trading networks.Thus, one trading network might have gateway access to an electronicexchange. Then, other trading networks may communicate with the tradingnetwork that has gateway access through a T1, T3, ISDN, or some otherhigh speed connection.

II. A Second Example Trading System

FIG. 2 illustrates another example trading system that uses similarcomputer elements as shown in FIG. 1, in which a trader may access andtrade at multiple electronic exchanges. The system comprises a clientdevice 202 that can access multiple electronic exchanges 204 and 208. Inthis particular embodiment, electronic exchange 204 is accessed throughgateway 206 and electronic exchange 208 is accessed through anothergateway 210. Alternatively, a single gateway may be programmed to handlemore than one electronic exchange. Router 212 is used to route messagesbetween the gateways 206 and 210 and the electronic exchanges 204 and208. While not shown in the figure, the system may include other devicesthat are specific to the client site like middleware and securitymeasures like firewalls, hubs, security managers, and so on, asunderstood by a person skilled in the art. Additional electronicexchanges may be added to the system so that the trader can trade at anynumber of exchanges, if so desired.

The trading system presented in FIG. 2 provides the trader with theopportunity to trade tradeable objects listed at different electronicexchanges. To some traders, there can be many advantages with amulti-exchange environment. For example, a trader could view marketinformation from each tradeable object through one common visualdisplay. As such, price and quantity information from the two separateexchanges may be presented together so that the trader can view bothmarkets simultaneously in the same window. In another example, a tradercan spread trade different tradeable objects listed at the differentelectronic exchanges.

As indicated earlier, one skilled in the art of electronic tradingsystems will understand that the present embodiments are not limited tothe particular configurations illustrated and described with respect toFIG. 1 and FIG. 2, and will be able to design a particular system basedon the specific requirements (for example, by adding additionalexchanges, gateways, client devices, routers, or other computers servingvarious functions like message handling and security). Additionally,several networks, like either of the networks shown in FIG. 1 or FIG. 2,may be linked together to communicatively access one or more electronicexchanges.

III. Client Device

Client devices 102 and 202 can be computers, such as a workstation,desktop, laptop, handheld device, and so forth, that allow a trader totrade one or more tradeable objects that are offered at exchange(s). Aclient device may include at least processor and memory. Preferably, theprocessor has enough processing power to handle and process varioustypes of market information. The more market information is received andprocessed, the more processing power is preferred. However, any presentday processor has enough capability to perform at least the most basicpart of the present invention.

Memory may include a computer readable medium. The term computerreadable medium, as used herein, refers to any medium that participatesin providing instructions to a processor unit for execution. Such amedium may take many forms, including but not limited to, non-volatilemedia, and transmission media. Non-volatile media include, for example,optical or magnetic disks, such as storage devices. Volatile mediainclude, for example, dynamic memory, such as main memory or randomaccess memory (“RAM”). Common forms of computer readable media include,for example, floppy disks, flexible disks, hard disks, magnetic tape,punch cards, CD-ROM, or any other physical medium with patterns ofholes, a RAM, a PROM, an EPROM, a FLASH-EPROM, and any other memory chipor cartridge, or any other medium from which a computer can read.

When a client device receives market information or other data, such asnews, or charting data, and order related information from an exchange,the received information may be displayed to the trader(s) on the visualoutput device or display device. However, it should be understood thatthe information could be provided to a trader using other means such assound. The output device can be any display device. For example, thedisplay could be a CRT-based video display, an LCD-based or a gasplasma-based flat-panel display, a display that shows three-dimensionalimages, or some other type of display.

Upon viewing the market information or a portion thereof, a trader maywish to send orders to an exchange, cancel orders, change orders, queryan exchange, and so on. To do so, the trader may input various commandsor signals into a client device such as by typing into a keyboard,inputting commands through a mouse, or inputting commands or signalsthrough some other input device. For instance, a trader may click amouse button to initiate an order to buy a particular quantity of thetradeable object at a particular price. Then, a client device preferablygenerates transaction information. There are many different types ofmessages and/or order types that can be submitted, all of which may beconsidered various types of transaction information. Once generated,transaction information is sent from a client device to one or more hostexchanges over communication links.

In one example embodiment, a client device uses software to createspecialized interactive trading screens on terminals associated withthem. Trading screens preferably enable traders to, among other things,enter and execute orders, obtain market quotes, and monitor positions.The range and quality of features available to the trader on his or hertrading screen may vary according to the specific software applicationbeing run. In addition to or in place of the interactive tradingscreens, a client device could run automated types of tradingapplications.

While the example embodiments could be implemented in relation to manydifferent environments and many different applications, they will bedescribed in relation to a trading application and a trading screen.Details regarding the trading screen are not necessary to understand thepresent invention. However, in one embodiment, one type of tradingscreen that can be used is provided by a commercially available tradingapplication referred to as X_TRADER® from Trading TechnologiesInternational, Inc. of Chicago, Ill. X_TRADER® also provides anelectronic trading interface, referred to as MD Trader™, in whichworking orders and/or bid and ask quantities are displayed inassociation with a static price axis or scale. Portions of the X_TRADER®and the MD Trader™-style display are described in U.S. Pat. No.6,772,132, entitled “Click Based Trading With Intuitive Grid Display ofMarket Depth,” filed on Jun. 9, 2000, U.S. Pat. No. 6,938,011, entitled“Click Based Trading with Market Depth Display” filed on Jun. 9, 2000,U.S. Pat. No. 7,127,424 entitled “Click Based Trading With IntuitiveGrid Display of Market Depth and Price Consolidation,” filed on Oct. 5,2001, U.S. patent application Ser. No. 10/125,894, entitled “TradingTools For Electronic Trading,” filed on Apr. 19, 2002, and U.S. patentapplication Ser. No. 10/376,417, entitled “A System and Method forTrading and Displaying Market Information in an Electronic TradingEnvironment,” filed on Feb. 28, 2003, the contents of each areincorporated herein by reference. However, it should be understood thatorders in the system illustrated in FIGS. 1 and 2 could also be placedusing any other trading application as well. Additionally, the preferredembodiments are not limited to any particular product that performstranslation, storage, and display function.

FIG. 3 is a block diagram illustrating an example client device 300,which may be similar to the type of client devices 102 and 202 shown inFIGS. 1 and 2. The client device 300 can be any particular type ofcomputing device, examples of which were enumerated above. According tothe preferred embodiments, the client device has a trading application302 and a cursor display application 304, both of which could be storedin a memory unit. While the cursor display application 304 is shown as aseparate application, it should be understood that it could also beincorporated into the trading application 302 as well, or yet some otherapplication when the example embodiments are used in environments otherthat the trading related environment.

The trading application 302, when executed, may arrange and displaymarket information in many different ways, depending on how the traderprefers to view the information. Cursor display application 304 canimplement the embodiments for the controlled cursor's behaviors, theembodiments of which will be described in greater detail below.Preferably, the trading application 302 and the cursor displayapplication 304 have access to market information through an applicationprogramming interface (“API”) 306, and the trading application 302 canalso forward transaction information to the host exchange 312 via theAPI 306. Also, the trading application 302 and/or the cursor displayapplication 304 could receive other types of data, such as news relateddata 318, through the API 306 from outside sources.

Additionally, the trading application 302 and the cursor displayapplication 304 could receive signals from an input device 316 via aninput device interface 310, and can be given the ability to send signalsto a display device 314 via a display device interface 308, theembodiments of which will be described below.

IV. Configuration of Cursor Indicators

According to the example embodiments described in greater detail below,a user may link data to be displayed in relation to a cursor, and thedata may remain linked to the cursor independent of a location where thecursor is displayed on one or more screens being used by a user. Thedata may remain linked to the cursor independent of a location of thecursor on an interface corresponding to a single application,independent of a location of the cursor on interfaces corresponding tomore than one application, and/or independent of an operating systembeing used.

It should be understood that different data could be linked to a cursor.In the embodiments described herein that relate to a tradingenvironment, the linked data could be market related data, traderrelated data, chart related data, news data, data determined based onuser-defined equations or formulas, or the combination of the specifiedor yet different data types. However, as the example embodiments are notlimited to the trading environment, the linked data could be applicationor environment specific and could include many different data types(e.g., the time, the weather forecast, news items, items related toelectronic gaming, and so on).

The data linked to a cursor may trigger different operational modes tobe used in relation to the cursor. In one embodiment, the linked datamay be displayed in relation to the cursor in a textual and/or graphicalformat. For example, a text box could be displayed in relation to thecursor to convey the linked data to a user. Alternatively, the linkeddata could trigger changes in the format of the cursor. For example,different colors/shapes could be used to represent different events/datatypes or to alert a user of a change in the linked data, or the cursorcould flash upon detecting certain data. Different embodiments arepossible as well such as a combination of the above behaviors.Additionally, as the linked data changes, the changes may be conveyed toa user based on the configuration of the cursor's behavior.

According to one embodiment, a user could control the cursor's behaviorand data that is linked to the cursor. However, in an alternativeembodiment, the user could be given less flexibility, and the cursorconfiguration could be hard-coded. Yet, according to another embodiment,some elements of the cursor configuration could be hard-coded with someflexibility remaining in the hands of the user.

FIG. 4 is a block diagram illustrating a cursor display controlapplication 400 according to one example embodiment. The cursor displaycontrol application 400 includes a configuration component 402, a datamonitor/linking component 404, and a cursor control component 406. Thecomponents 402, 404, and 406 may include software and/or hardwareelements to perform their functions. However, it should be understoodthat the cursor display control application 400 could include more orfewer components than those shown in FIG. 4. Also, the illustratedcomponents could be combined with the components of the tradingapplication of a particular trading station, as mentioned above.

The configuration component 402 provides configuration mechanisms thatallow a user define desired operation and the cursor's behavioraccording to the example embodiments described herein. As mentionedearlier, the cursor's behavior may be linked to the cursor regardless ofthe cursor's state with respect to a currently used application, anoperating system being run, or a location of the cursor with respect toone or more windows displayed on a screen.

The configuration component 402 may receive the configuration data froma user via a user input interface 410. The configuration means couldinclude pull-down menus, graphical interfaces, or the combinationthereof. Regardless of the configuration means used, the configurationcomponent 402 may allow a user, among other things, select desiredinformation to be displayed in relation to a cursor, a desired displayformat for a cursor, and the cursor's behavior as the cursor is moved inrelation to different windows displayed on one or more screens, or asthe information displayed in relation to the cursor changes. Asmentioned earlier, in an alternative embodiment, rather than giving auser an option to configure the mentioned elements, some of theflexibility may be taken away by hard-coding some or all availableoption(s).

The data monitor and linking component 404 enables the cursor displaycontrol application 400 to be linked to one or more other applicationsthat may provide data to be used to control the cursor's behavior. Oncethe desired data is specified via the configuration component 402, thedata monitor/linking component 404 may communicate with outsideapplications, such as a trading application, to request the desireddata, as shown at 408. According to one example embodiment, once theinitial data is received, the data monitor/linking component 404 may beconfigured to monitor the received data for changes and to makecalculations based on the received data, if needed. Alternatively, thesystem could be configured such that a data source, e.g., an outsideapplication, may perform any necessary calculations and provide theprocessed data to the cursor display control application 400. Forexample, if data related to a trader's net position were to be displayedalong a cursor, a trading application could perform necessarycalculations and provide the updates to the cursor display controlapplication 400 only upon detecting a change in the trader's netposition. It should be understood that different system configurationsare possible as well, with some processing of data being performed atthe cursor display control application 400 and some at one or more otherapplications that provide data to be used in relation to a cursor.

The cursor control component 406 manages and controls the format of acursor and any data that is displayed in relation to the cursor. Morespecifically, the cursor control component 406 may control the displayof the selected data in relation to a cursor as well as the cursor'sbehavior regardless of a cursor's location on a screen, an applicationin use, and/or an operating system being run. In an embodiment where theselected information is displayed in relation to a cursor, it should beunderstood that when the cursor moves, the displayed data moves with thecursor.

Additionally, a user may configure the cursor's behavior such that theinformation displayed in relation to a cursor may be context sensitiveto the cursor's location with respect to interfaces or windows that aredisplayed on a screen. For example, if a cursor is displayed in relationto a trading interface, the information associated with the cursor couldbe displayed such that it does not obstruct the view of the underlyingmarket data. To do that, any textual or graphical information could betransparent, and a user could control the transparency level. In such anembodiment, the cursor control component 406 could monitor the cursor'slocation on a screen, and timely change the format and otherdisplay-related parameters related to the displayed information.Additional details as to the format and display configurations will bedescribed in greater detail below.

A. Basic Operation

Assuming the flexibility is provided by the system, a user may link datato a cursor and define the desired cursor's behavior. According to oneexample embodiment, the cursor behavior may be linked to data that isprovided by any desired application. For example, the user may link thecursor's behavior to a trading application. In such an embodiment, thecursor's behavior may depend on trader-related data, market relateddata, news, some other data, or yet the combination thereof. Asmentioned earlier, the desired cursor behavior may involve displayinglinked market data in relation to the cursor, or changing the format ofthe cursor as the changes in the linked data are detected. Linking thedata may include any mechanism for defining the cursor's behavior, andby the way of illustration, the mechanisms may include selecting optionsprovided by a menu-based system. If flexibility is not provided by thesystem (e.g., such as when the option is hard-coded into the system),then the predefined data is automatically linked to the cursor.

As the cursor is moved on the screen, the cursor may be controlled bythe predefined behavior. The predefined cursor's behavior could beapplicable globally, e.g., irrespective of a window/interface inrelation to which the cursor is displayed. Alternatively, the cursor'sbehavior could be window/interface dependent, and a user could definecursor related settings for each window separately. In such anembodiment, different configuration settings could enable a user todefine the desired cursor behavior or could be hard coded as explainedearlier. Using a trading application as an example, when a user drags acursor over a window corresponding to the trading application, P/L datacould be displayed in relation to the cursor. Also, as each window overwhich the cursor is positioned could display data corresponding to adifferent tradeable object, the P/L data displayed in relation to thecursor could dynamically change to represent a trader's P/L with respectto a tradeable object corresponding to the window over which the cursoris positioned. Then, as the cursor is dragged over a windowcorresponding to another application, the cursor may revert back to adifferent behavior. For example, if the cursor is first positioned overa window corresponding to a trading application and then is moved to awindow corresponding to a different application, e.g., an e-mail window,the data linked and displayed in relation to the cursor could bemodified based on the predefined settings. It should be understood thatmany different configurations for the cursor's behavior could be definedand used as well.

B. Textual Information

According to one example embodiment related to a trading environment,different types of information could be displayed in relation to acursor, including trader related information, market relatedinformation, news, charts, or any other information that could assist atrader in making his trading decisions. According to one exampleembodiment, the displayed information could be in the format of textualinformation. Textual information related to the trader's data couldinclude trader's global net position, per-tradeable object net position,per-account net position, global profit/loss (“P/L”), per-tradeableobject P/L, per-account P/L, some other risk related values, or yet someother values of interest. Market related information in the textualformat could include a last traded price for a tradeable object, acurrent inside market for a tradeable object, other bid/ask prices,market quantities, a time until market close/open for a tradeableobject, an exchange time to market close/open, or yet some other valuesselected by a user. The textual information displayed in relation to acursor could also be linked to a risk management trading application toprovide risk alerts for one or more tradeable objects being traded by atrader or for one or more accounts that are used by the trader fortrading.

It should be understood that textual information displayed in relationto a cursor could be based on various other data types, such as newsalerts or news feeds. Additionally, the textual information couldinclude values or yet some other indicators that are determined based onformulas entered by a user via Excel, or some other application. In suchan embodiment, the values could be calculated by the externalapplications based on data from other sources, such as based on marketdata corresponding to one or more tradeable object. The calculatedvalues could then be provided to the cursor control application fordisplay or use in relation to a cursor.

C. Graphical Indicators

In addition to or in place of the textual information that could bedisplayed in relation to a cursor, graphical indicators or even thecursor itself could be used as well to convey information to a user. Thegraphical indicators could include various user-configured icons,symbols, or even charts/graphs that could convey desired information toa user. For example, an arrow pointing up or down could be periodicallydisplayed in relation to a cursor as the market corresponding to one ormore pre-selected tradeable objects moves up or down. Further, thecursor's shape, size, or color could vary to convey pre-selectedinformation. For example, the cursor's color could vary from blue to redbased on the market movement corresponding to a pre-selected tradeableobject, with blue indicating an upward market movement and redindicating the market moving down. As another example, a cursor's colorcould change based on a predefined color scale as a trader's netposition increases or decreases.

While, graphical and textual indicators could be displayed independentlyof each other, it should be understood that the combination of theindicators could be used as well. For example, when an inside market isdisplayed in relation to a cursor, an arrow pointing up or down could bedisplayed as well to indicate if the market has gone up or down comparedto the last inside market. Alternatively, different colors, such as redor green, could be used for the textual data to indicate the sameinformation. Additionally, the complexity of information displayed inrelation to a cursor could be based on the user's preferences or thehard-coded configuration.

D. Display Settings

As explained earlier, data linked to a cursor could be displayed inrelation to the cursor, and the displayed information could move alongwith the cursor's movement on one or more screens. It should beunderstood that the location where the information is displayed inrelation to the cursor could be based on the user's preferences.Typically, as a user often focuses on a cursor while navigating throughdifferent applications or functions on a screen, the informationassociated with the cursor could be displayed directly next to thecursor.

As mentioned earlier, the information linked to a cursor may remainlinked and displayed in relation to the cursor regardless of thelocation of the cursor in relation to a window or interfacecorresponding to an application from which data is linked to the cursor,or a window or interface corresponding to differentapplications/operating systems. FIGS. 5A and 5B illustrate one exampleembodiment for displaying information in relation to a cursor where thecursor is moved to a different location in a window corresponding to anapplication that provides data that is linked to the cursor.

FIG. 5A shows two windows 500 and 502 with a cursor 504 located in afirst location on the bottom right side of the window 502. Based on theillustrated embodiment, data linked to the cursor 504 is displayed onthe bottom right side of the cursor 504, as shown at 506. While FIG. 5Aillustrates one example position for displaying information in relationto a cursor, it should be understood that the linked information couldbe displayed to the left of the cursor 504, on the top/bottom of thecursor 504, or could be superimposed on it. Alternatively, informationcould be displayed at a location farther away from the actual cursor.Additionally, the location of displayed data in relation to a cursorcould dynamically change based on a graphical interface or otherinformation displayed underneath the cursor.

As the cursor 504 is moved to a second location in the window 502, thelinked information 506 is moved along with the cursor, as shown in FIG.5B. While FIG. 5B displays the linked information at the same locationin relation to the cursor 504, it should be understood that the locationof the displayed information could be changed as a user moves the cursor504. For example, if information is displayed at the bottom right of thecursor 504, and a user moves the cursor 504 to the lower right side ofthe window 502, the location of the displayed information 506 coulddynamically change as the cursor gets closer to the edge of the window502, such as to the upper left side of the cursor 504, for example, toallow the displayed information remain visible. Different embodimentsare possible as well.

FIGS. 6A and 6B illustrate one example embodiment for displayinginformation in relation to a cursor where the cursor is moved to adifferent location in a window corresponding to a different applicationthat the one providing data that is linked to the cursor.

FIG. 6A shows two windows 600 and 602 with a cursor 604 located in afirst location on the bottom right side of the window 602. It will beassumed that the windows 600 and 602 correspond to two differentapplications, and the application associated with the window 602provides data that is linked to the cursor 604. The linked data isdisplayed in relation to the cursor 604, as shown at 606. Now, as thecursor is moved to a different location in the window 600 correspondingto the second application, the information remains linked and isdisplayed in relation to the cursor, as shown in FIG. 6B. It should beunderstood that the same cursor behavior could occur if the cursor 606was moved anywhere on the same or different screen, or if the cursor 606was moved to a window or an interface associated with a differentoperating system.

E. Additional Embodiments

As briefly explained earlier, a user has the ability to pre-configuremany different settings for a cursor, one of them being the informationto be displayed in relation to the cursor. While the examples abovereferred to linking a single user-defined parameter or a number ofparameters for display in relation to a cursor at any given point intime, in an alternative embodiment, the user could group one or moreparameters into a plurality of configuration sets to be associated withthe cursor. In such an embodiment, a user could control which data setis displayed in relation to the cursor by selecting different hotkeyspredefined for different data sets. Alternatively, a middle mouse buttoncould be used to overwrite the current set of configuration parametersassociated with a cursor. For example, one data set could include acurrent net position and a trader's P/L related to a specific tradeableobject, while the second data set could be associated with an insidemarket for one or more tradeable objects. In such an embodiment, a usercould switch between the displayed data sets by simply using the middlewheel mouse button or by selecting a pre-configured key on a keyboard.It should be understood that the data activated with hot keys could beprovided by the same or a different application. Different embodimentfor controlling what is displayed in relation to a cursor could bedefined as well.

According to another embodiment, the information displayed in relationto a cursor could automatically change based on preset criteria. Itshould be understood that many different criteria could be defined by auser. Some example criteria could include contextual information that isdisplayed under the current/previous location of a cursor on a screen ora recent change in one of the parameters to be displayed in relation toa cursor. For example, if a cursor is first positioned in relation to aninterface that displays information related to a first tradeable objectand then is moved to an interface associated with a second tradeableobject or yet some other interface, such as when a user decides tosearch the Internet, the cursor could dynamically display informationassociated with the first tradeable object.

Additionally, a user could control the rate at which the information isdisplayed in relation to a cursor. In one example embodiment describedearlier, rather than continually displaying the information in relationto a cursor, the information could periodically appear and thendisappear upon detecting no changes in the attached data for apredefined time period. In such an embodiment, when a change in theattached information is detected, the change could temporarily overwritethe periodic display settings so that the new information could bedisplayed for a user.

According to yet another example embodiment, a user may wish tosynchronize audio events with certain changes in parameters linked to acursor. For example, an inside market corresponding to one or moretradeable objects may be displayed in relation to a cursor. In such anembodiment, a user may configure an audio alert to be played when one ormore markets reach a certain price level. It should be understood thatalerts could be used in relation to any user-defined value or event.

It will be apparent to those of ordinary skill in the art that methodsinvolved in the system and methods described above may be embodied in acomputer program product that includes one or more computer readablemedia. For example, a computer readable medium can include a readablememory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or acomputer diskette, having computer readable program code segments storedthereon. The computer readable medium can also include a communicationsor transmission medium, such as, a bus or a communication link, eitheroptical, wired or wireless having program code segments carried thereonas digital or analog data signals.

The claims should not be read as limited to the described order orelements unless stated to that effect. Therefore, all embodiments thatcome within the scope and spirit of the following claims and equivalentsthereto are claimed as the invention.

1. A method for using a cursor to convey information: linking data to acursor, wherein the cursor is displayed on a screen and movement of thecursor to a location on the screen is based on a command from a userinput device; defining a behavior of the cursor, wherein the linked datais conveyed through the defined behavior; and displaying the cursor onthe screen such that the defined behavior conveys the linked dataindependent of the location where the cursor is placed on the screen.